Apart from word processing applications software, spreadsheet software is currently one of the most commonly used software tools. A spreadsheet program allows the user to input data into cells, which are arranged into columns and rows, and by providing calculation tools it enables the user to easily evaluate data that can be arranged in a table form. Such an evaluation can be done by calculating the values of cells by referring to the content of other cells, or it can be done by graphically displaying the content of the spreadsheet document, or by a combination of these methods.
In typical spreadsheet programs, the user is provided with a graphic display of a table of a spreadsheet 100 similar to the one schematically illustrated in FIG. 1. In the example of FIG. 1, the table data is arranged in cells, which are arranged in columns labeled “A” to “E” and rows numbered from “1” to “4”. A user can also enter data into the individual cells, such as for example the number “6” shown in the cell “A1”.
Apart from the graphic visualization tools provided by spreadsheet programs, probably the most important feature which such spreadsheet programs offer to the user is the possibility to calculate the content of the individual cells by referring to other cells. Known spreadsheet programs such as Excel™ produced by Microsoft Corporation, or StarCalc™ produced by Sun Microsystems, Inc. provide the possibility to enter, for individual cells, functions or formulas which define how the content of those cells is to be derived by referring to the content of other cells. For that purpose, usually on the graphical user interface, there is some location where the user can define the reference and the function or formula for the individual cells. For the sake of simplicity, in FIG. 1 the formulas defining the references are shown directly in the individual cells. Sun, Sun Microsystems, the Sun logo, and StarCalc are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other company and product names may be trademarks of their respective companies.
After having input such references, the content of the so defined cells (for example, cells C1, D1, and E1 in the example of FIG. 1) is automatically calculated by the spreadsheet program by referring to the content of the referenced cells.
One problem involved with this type of spreadsheet data input mechanism is that once a formula or a function referencing one cell to another has been input, the thereby defined cell content is fixed in the sense that it only depends on the content of the cell which it references, however, there is no possibility to directly influence the content of the individual cell which is defined by a formula or a function except by overriding the formula.
For example, assume that cell “B1” references cell “A1”, that cell “C1” references cell “B1”, that cell “D1” references cell “C1”, and so forth, until cell “H1” references cell “G1”. In such a case, where there is a linear chain of references, it is only possible to amend the content of cell “A1” and to then observe how the other cells change their content depending on the change of the content of cell “A1”. A user might, however, desire to observe how the content of cell “D1”, for example, changes if cell “C1” assumes a particular value. This, however, is not possible since all cells from cell “B1” to cell “H1” can typically only change their content in response to a change of the content of cell “A1”.
Thus, typical spreadsheet programs fail to provide the user with a sufficiently flexible input interface.